FIG. 1 shows a typical networking diagram for DSL, which, as a broadband access technology, has been widely used. The DSL technology further promotes broadband technology applications in a wide range, such as Internet Protocol Television (IPTV), Voice over Internet Protocol (VoIP), and so on, and forms various types of IP-based devices for these applications or combinations of these applications, such as an IP application terminal (referred to as device hereafter) named Customer Premises Equipment (CPE). In a DSL network including a CPE as shown in FIG. 1, an Auto-configuration Server (ACS) is responsible to automatically configure the CPE so that the CPE may normally operate without being configured by a user. The ACS modifies and sets parameters of the CPE through a Remote Procedure Call (RPC) process.
In FIG. 1, a typical modification on device parameters includes two steps: modifying values of parameters (or adding, deleting parameters), and applying new parameters. When modified device parameters need to be applied, there may be two cases: one case is that the new parameters may be applied immediately after being modified; the other case is that the new parameters may not be applied until the device satisfies a certain condition, such as reset of the device or the current service; at this time, the new parameters may not be applied until the device is reset or the current service is reset.
A process for modifying device parameters typically includes the following steps:
1. A managing end (for example, a managing server, a command line terminal, and so on) sends a parameter modifying command (or message) to a managed device, the command typically includes information relevant to parameters to be modified, such as parameter names, new parameter values, and possibly includes authentication information for authenticating the validity of the managing end.
2. The managed device modifies specified parameters, according to the information in the parameter modifying command after receiving the command.
3. The managed device returns a result of the parameters modification to the managing end after modifying the specified parameters according to the received command, the result including whether the new parameters may be applied immediately. If the new parameters may not be applied immediately, the managed device may apply the new parameters through necessary measures such as reset, then the modification of parameters is completed.
4. The managed device returns information indicating modification failure to the managing end if the managed device fails to modify the parameters according to the received command.
The typical parameters modifying steps are described above. Applying new parameters in Step 3 may not be performed by the device autonomously, but may be performed according to an additional command (or message) sent from the managing end; this depends on particular implementations.
DSL forum proposes a series of TR technical documents on a basis of a center standard TR-069 with respect for CPE. The series of TR technical documents defines operating frames for device management and auto-configuration based on HTTP protocol, and specifies a RPC approach for modifying CPE parameters at an ACS.
The existing techniques for modifying device parameters are illustrated above, and the parameters modifying process proposed in TR-069 is substantially the same. An ACS sends a SetParameterValues (or AddObject, DeleteObject) message to a CPE, the CPE performs subsequent operations for modifying parameters according to information in the message, and sends a response to the ACS when the parameters modification is completed or failed.
Taking the SetParameterValues message as an example, the message includes parameters as shown in the following table:
Parameter:Type:Description:ParameterListParameterValueStruct[ ]An array of name-value pairs, each name-value pairindicates the CPE to set a parameter corresponding tothe name into the value.ParameterKeystring(32)This is used to set ParameterKey parameter. The CPEneed set ParameterKey into a value specified in thisparameter when and only when the SetParameterValuesis performed successfully and no error response isgenerated. If the SetParameterValues is not performedsuccessfully (i.e., the request for modifying parametervalues is not applied), the value of ParameterKey maynot be modified. The ParameterKey provides the ACSwith a flexible and extendable approach to track themodifications made by the ACS. The value of thisparameter may be determined by the ACS, or may beempty.
After receiving the SetParameterValues message, the CPE modifies specified parameters of the CPE, according to the content of the ParameterList parameter. As pointed out in TR-069, whether new parameters are applied immediately after the modification of the parameters should be determined by the CPE rather than determined by the ACS though sending a command. Moreover, according to the specification of TR-069, the ACS cannot request the CPE to reset for applying the new parameters after the ACS invokes the SetParameterValues (or AddObject, DeleteObject) approach for the CPE. The CPE decide by itself how and when to apply the new parameters, and the CPE may apply the new parameters so as to complete upgrade under the condition of not influencing online service.
There are two defects in above mentioned case:
1. The ACS cannot decide the applying opportunity of the CPE's unapplied parameters.
2. The ACS cannot inquire or change the applying opportunity of the CPE's unapplied parameters.